package main

import (
	"projorg/router"
	"projorg/service"
)


func main() {
	// fmt.Println("Hello Golang! 这是介绍基于Gin+Gorm基本golang web项目开发实战的demo")

	// 1、加载配置文件
	path := "./config/config.yaml"
	service.ParseConfiguration(path, "yaml")
	// fmt.Println(service.GetConfiguration())

	// 2、 链接数据库
	service.ConnectDB()
	defer service.DisConnectDB()

	// 2.1、 这里可以考虑表结构同步 AutoMigrate
	// 如果是如下方式，第一次启动的时候存在，然后注销，
	// 在后续如果有表变更、新增的时候在修改DBMigrate之后打开执行
	// 当然不注销也可以，gorm会自动判断
	// 后续可以引入命令行参数，比如有数据库更新的时候添加参数 -m, 指定配置文件 -c 等等
	service.DBMigrate()

	// 3、 路由加载和启动
	route := router.MapRouter()
	// route.Run(":" + string(service.GetConfiguration().Server.Port))
	route.Run()
}
